home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Interactive Reference Guide
/
C-C++ Interactive Reference Guide.iso
/
c_ref
/
csource5
/
355_01
/
slk1.exe
/
SHERLOCK
/
LOG
< prev
next >
Wrap
Text File
|
1989-07-28
|
6KB
|
145 lines
Log file for Sherlock versions and bugs
----- VERSIONS 1.0a, 1.0b and 1.0c.
There were at least 3 SERIOUS bugs fixed in November, 1988
SPP: Did not recognize a PP directive line as the first token in the file.
I think the fix involved a change in SPP.C
SPP: Added an extra '\r' to all lines. The fix was to SYS.C.
SDEL: Added an extra '\r' to all lines.
----- VERSION 1.1
2/9/89
As of today, the files in \sherlock are version 1.1 files.
There are only minor variations between version 1.0c and version 1.1.
SHERLOCK.C
o Version 1.1 has eliminated the buffering of output.
o The sl_init function now takes a string argument.
o Some functions were renamed.
SL.H and SL1.H
The declaration of sl_init has been changed, as has the SL_INIT macro.
SLTEST.C
Version 1.1 adds some messages telling what the output should be.
2/9/89
Today I reorganized the file system as follows:
All Sherlock .exe files now sent to \sherlock\bin and \sherlock\bin is made
part of the default search path.
All Microsoft .exe files start with an m.
All Microsoft .obj files in \sherlock\msc start with an m.
NEWCPP directory changed to CPP.
NEWSPP moved to SPP.
SDEL and SDIF moved out of SPP into directories of their own.
2/14/89
o The sl_csout(), sl_lpout() and sl_rpout() routines were added to sherlock.c.
The declarations for these routines were added to sl.h and sl1.h.
A test of these routines was added to sltest.c.
o Bugs, many bugs were found in sem.c. These caused incorrect macros to be
generated by SPP.
o Sem was changed to generate calls to sl_csout(), sl_lpout() and sl_rpout().
It was also changed to put sl_csout() and sl_rpout() on the same line as the
line that generates the main output.
o A bug was corrected in CPP that had been corrected earlier in SPP. It is
now possible to put white space in the list of formal args in a macro.
o A bug was corrected in CPP that probably doesn't need to be fixed in SPP.
An extra space was left in front of the # operator in certain cases. The fix
was made to def.c.
2/16/89
Added -b option to SDIF.
The so_disable() function and the fn_enable flag disable generation of Sherlock
macros if a Sherlock macro is seen as the first executable statement of a
function. These changes were to SEM.C.
The SL_DISABLE macro was added to sl.h and sl1.h to allow additional macros to
be suppressed from a function. Sherlock macros may follow SL_DISABLE in a
function, SL_DISABLE just disables FURTHER macro generation.
The fn_gen flag is used to generate a warning if a Sherlock macro is
encountered after generation of macros has begun.
The fn_warn flag insures that only one warning per function is given.
The is_sherlock() function was added to SPP.C and a test was made in
outer_expand() in DEF.C to see if the macro being expanded is a Sherlock macro.
Changed warn3 and err3 in UTL.C to always print file name and to print the
current function name if there is one. This should make the diagnostic output
more valuable. Also, warn3 and err3 now add periods automatically.
2/16/89
o Fixed a TERRIBLE bug in skip_ws which caused it to loop if the flag passed to
it was FALSE and it saw a newline. I don't know why this bug never showed up
before!
o Fixed a minor bug in DCL.C that caused a spurious "Function not expected here."
The fix was to set prev_dcl = 0 in most places.
o Cleaned up the synonym processing logic in SPP.C and SDEL.C. The new code uses
an array to define all legal Sherlock macros.
o Added the -? option to SPP, SDEL and SDIF. This allows version to be less
of an eye strain.
o Added a better usage message to eiter SDEL or SDIF, whichever didn't have it
before.
2/17/89 Version 1.3 Released
o Created spp.tst and syn.tst in \test\tst.
o Brought all version numbers up to date in preparation for releasing v1.1.
o Deleted periods in error message in mem.c and mst.c.
o Fixed a bug: sem.c now recognizes multilevel typedefs involving bool.
6/27/89 Version 1.4 Released
o Fixed macro overflow bug which caused crashes in def.c.
o Allocated memory from heap in expand() and substitute() in def.c.
o Added support for set INCLUDE= environment variables in main() in spp.c.
o Added ANSI compatible backslash-newline support. Now handled in sysnext().
o Declined to support single-line comments. Wrote letter to Microsoft.
o Fixed comment bug in skip_comment() in tok.c.
o Fixed bug involving arrays in prototypes in type_tail() in dcl.c.
o Fixed bug involving complex initializers with the curly_ok_flag kludge.
o Functions returning structures now use TICKX to return. Changed sem.c.
o Fixed tracing of structure arguments in so_usr() and so_printf() in sem.c.
o Added many more tests to \test\dcltest.c.
o Allowed 31 characters in a sherlock macro name. Change made in sherlock.c.
o Enhanced \test\r.bat.
7/28/89 New Policy regarding keeping versions separate
o \spp will, as before, contain the current working copy of SPP.
o putsl.bat will take spp.exe from \spp\v1ptx subdirectory, not \spp\turboc
o \sherlock\bin will contain release version of all programs EXCEPT SPP.
o \test will have to make sure that proper version of SPP is tested.
o \makeall will have to be changed to reflect the proper version of SPP
o the make files for SPP will no longer copy files to \sherlock\bin.
TO CHANGE TO A NEW VERSION:
o put the frozen code in a new directory called \spp\v1ptx
o change putsl.bat to get spp.exe from \spp\v1ptx
o \test will contain test files: dcltest.c, dcltest2.c, etc.
o The test files spptest.bat, r.bat and v.bat are to be run from the directory
containing the code to be tested. The assumption is that the directory will
contain an out subdirectory which will hold temp files and output.